package chapter_3.frame;

import java.io.IOException;
import java.io.OutputStream;

/**
 * @author fulv
 * Framer接口声明了两个方法，用于消息成帧和解析将待发送消息封装成帧并输出到指定流
 */
public interface Framer {

    /**
     * 将输入的消息msg封装成帧，然后输出到out流
     *
     * @param msg 输入的消息
     * @param out 消息输出流
     */
    void frameMsg(byte[] msg, OutputStream out) throws IOException;

    /**
     * 从指定流中读取下一个消息帧
     *
     * @return byte[]
     */
    byte[] nextMsg() throws IOException;
}
